package com.klw.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.klw.common.annotation.Excel;
import com.klw.common.core.domain.BaseEntity;

/**
 * 学生出勤记录对象 klw_student_attendance
 *
 * @author klw
 * @date 2025-08-24
 */
public class KlwStudentAttendance extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 记录ID
     */
    private Long attendanceId;

    /**
     * 学号
     */
    @Excel(name = "学号")
    private Long studentId;

    /**
     * 课程号
     */
    @Excel(name = "课程号")
    private Long courseId;

    /**
     * 出勤状态
     */
    @Excel(name = "出勤状态")
    private Integer attendanceStatus;

    /**
     * 教师备注
     */
    @Excel(name = "教师备注")
    private String teacherNote;

    /**
     * 学期
     */
    @Excel(name = "学期")
    private Long semesterId;

    public void setAttendanceId(Long attendanceId) {
        this.attendanceId = attendanceId;
    }

    public Long getAttendanceId() {
        return attendanceId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public Long getStudentId() {
        return studentId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public Long getCourseId() {
        return courseId;
    }

    public void setAttendanceStatus(Integer attendanceStatus) {
        this.attendanceStatus = attendanceStatus;
    }

    public Integer getAttendanceStatus() {
        return attendanceStatus;
    }

    public void setTeacherNote(String teacherNote) {
        this.teacherNote = teacherNote;
    }

    public String getTeacherNote() {
        return teacherNote;
    }

    public Long getSemesterId() {
        return semesterId;
    }

    public void setSemesterId(Long semesterId) {
        this.semesterId = semesterId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("attendanceId", getAttendanceId())
                .append("studentId", getStudentId())
                .append("courseId", getCourseId())
                .append("attendanceStatus", getAttendanceStatus())
                .append("teacherNote", getTeacherNote())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("semesterId", getSemesterId())
                .toString();
    }
}
